package com.ls.uav_backend.model.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import java.io.Serial;

import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *  实体类。
 *
 * @author <a href="https://gitee.com/Linkating">LinSkating</a>
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("environmental_data")
public class EnvironmentalData implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 数据唯一标识
     */
    @Id(keyType = KeyType.Generator, value = KeyGenerators.snowFlakeId)
    private Integer id;

    /**
     * 数据采集时间戳
     */
    @Column("dataTimestamp")
    private LocalDateTime dataTimestamp;

    /**
     * 室内温度(°C)
     */
    @Column("indoorTemperature")
    private BigDecimal indoorTemperature;

    /**
     * 室外温度(°C)
     */
    @Column("outdoorTemperature")
    private BigDecimal outdoorTemperature;

    /**
     * 水分含量(%)
     */
    private BigDecimal moisture;

    /**
     * 土壤肥料浓度(ppm)
     */
    @Column("soilFertilizerConcentration")
    private BigDecimal soilFertilizerConcentration;

    /**
     * 土壤酸碱度(pH值)
     */
    @Column("soilPh")
    private BigDecimal soilPh;

    /**
     * 光照强度(lux)
     */
    private BigDecimal illumination;

    /**
     * 电导率
     */
    private Integer conductivity;

    /**
     * 钾
     */
    private Integer potassium;

    /**
     * 氮
     */
    private Integer nitrogen;

    /**
     * 磷
     */
    private Integer phosphorus;

}
